package com.liangtian.mdm.system.parameter.utils;

import com.liangtian.mdm.util.StringUtil;
import com.liangtian.mdm.system.parameter.service.SysParameterService;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

/**
 * 获取系统参数工具类
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Company: 石化盈科信息技术有限责任公司 </p>
 * <p>Encoding    :  UTF-8</p>
 * <p>Package Name:  com.liangtian.mdm.system.parameter.utils </p>
 * <p>Project Name:  dmodel </p>
 *
 * @author xiuzhangl
 * @date 2017年3月2日 上午11:13:40
 */
@Controller
public class SysParamUtil {

    public SysParamUtil() {
        // TODO Auto-generated constructor stub
    }

    /**
     * 系统参数service
     */
    private static SysParameterService sysParameterService;

    /**
     * 获取参数值方法
     *
     * @param sysParam     系统参数的名称
     * @param defaultValue 默认值 ,如系统参数名称sysParam为空或者查无此参数时则返回该默认值
     * @return
     * @author xiuzhangl
     * @date 2017年3月2日 上午11:14:42
     */
    public static String getSysParamValue(String sysParam, String defaultValue) {

        if (sysParam.equalsIgnoreCase("") || sysParam == null)
            return defaultValue;
        return sysParameterService.getSysParamValue(sysParam, defaultValue);
    }

    public SysParameterService getSysParameterService() {
        return sysParameterService;
    }

    @Resource(name = "SysParameterService")
    public void setSysParameterService(SysParameterService sysParameterService) {
        this.sysParameterService = sysParameterService;
    }

    ;

    //--使用map的形式，map中的内容容器启动时加载一次
    public static String getParameterValue(String name) {
        return SysParameters.getInstance().getParameterByName(name);
    }

    //--使用map的形式，map中的内容容器启动时加载一次
    public static String getParameterValue(String name, String defaultValue) {
        String value = SysParameters.getInstance().getParameterByName(name);
        return StringUtil.isBlank(value) ? defaultValue : value;
    }


}
